development user needs software tools projects application radius3 software development software java developers open source tool selection criteria thin-client